package com.rightsidetech.commom.push;

/**
 * @author yinj
 * @create 2021-6-11 11:09:18
 */
public enum EnumMsgType {

    /**
     * 设备被退出
     */
    APP_LOGIN_OUT{
        @Override
        public String getName() {
            return "您的账号在另一台设备登录,如非本人操作请尽快更改密码";
        }

        @Override
        public byte getValue() {
            return 1;
        }
    },
    /**
     * 门店上门服务订单
     */
    TODOOR_SERVICE{
        @Override
        public String getName() {
            return "新的上门服务订单,请及时处理";
        }

        @Override
        public byte getValue() {
            return 2;
        }
    },
    /**
     * 骑行活动审核-同意
     */
    RIDE_ACTIVITY_AGREE{
        @Override
        public String getName() {
            return "骑行活动申请已通过";
        }

        @Override
        public byte getValue() {
            return 3;
        }
    },
    /**
     * 电池检测审核
     */
    BATTERY_CHECK{
        @Override
        public String getName() {
            return "电池检测审核已处理,请注意查看";
        }

        @Override
        public byte getValue() {
            return 4;
        }
    },
    APPLYORDERAFTERSERIVCE{
        @Override
        public String getName() {
            return "用户发起了售后申请, 点击查看详情";
        }

        @Override
        public byte getValue() {
            return 5;
        }
    },
    /**
     * 骑行活动审核-拒绝
     */
    RIDE_ACTIVITY_UNAGREE{
        @Override
        public String getName() {
            return "骑行活动申请已拒绝";
        }

        @Override
        public byte getValue() {
            return 6;
        }
    },
    /**
     * 库存过期
     */
    STOCK_TIMEOUT{
        @Override
        public String getName() {
            return "门店库存存在有到期商品";
        }

        @Override
        public byte getValue() {
            return 7;
        }
    },
    /**
     * 用户使用门店优惠券
     */
    Coupon_used{
        @Override
        public String getName() {
            return "优惠券被使用";
        }

        @Override
        public byte getValue() {
            return 8;
        }
    }


    ;


    public abstract String getName();

    public abstract byte getValue();

    /**
     * 根据值获取类型
     *
     * @return EnumMsgType
     */
    public static EnumMsgType parse(Byte value) {
        if (value == null) {
            return null;
        }
        EnumMsgType rtype = null;
        for (EnumMsgType type : EnumMsgType.values()) {
            if (type.getValue() == value) {
                rtype = type;
            }
        }
        return rtype;
    }
}
